Apple Silicon 向け Docker Desktop for mac 設定メモ
mysql:8.x などARM アーキテクチャに対応していない Docker Image を利用しようとすると、以下のようなエラーメッセージが表示される
code:error
no matching manifest for linux/arm64/v8 in the manifest list entries
Rosetta 2 を有効にすると Intel アーキテクチャ向けの Docker Image をエミュレータ環境で実行することができる
Rosetta 2 をインストールする
softwareupdate --install-rosetta
Docker Desktop for Mac の設定
Settings > Features in development > Use Rosetta for x86/amd64 emulation on Apple Silicon のチェックをつける
https://gyazo.com/41a0486bd2140458ca1429662449c6cd
docker-compose.yml に platform を追加する
Intel アーキテクチャのエミュレートを行うサービスに platform: linux/amd64 のようにアーキテクチャを明示的に指定する。 ( redis や minio などは複数のアーキテクチャに対応しているのでこの対応は不要)
code:_(yaml)
db:
platform: linux/amd64
image: mysql:8.0.27
参考